Mahasiswa mampu membuat aplikasi CRUD sederhana menggunakan Laravel, migration, model, controller, dan Eloquent ORM untuk mengelola data database secara terstruktur.
CRUD adalah operasi dasar dalam pengolahan data pada aplikasi web.
CRUD terdiri dari:
Pada Laravel, CRUD dapat dibuat menggunakan:
Migration digunakan untuk:
Command:
php artisan make:migration create_mahasiswa_table
Lokasi:
database/migrations/
Edit file migration:
public function up(): void
{
Schema::create('mahasiswa', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('jurusan');
$table->integer('semester');
$table->timestamps();
});
}
| Field | Fungsi |
|---|---|
| id() | Primary key |
| string() | VARCHAR |
| integer() | Number |
| timestamps() | created_at & updated_at |
Command:
php artisan migrate
Laravel akan membuat tabel:
mahasiswa
pada database MySQL.
Digunakan untuk:
Command:
php artisan make:model Mahasiswa -mc
Keterangan:
app/Models/Mahasiswa.php
app/Http/Controllers/MahasiswaController.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Mahasiswa extends Model
{
protected $table = 'mahasiswa';
protected $fillable = [
'nama',
'jurusan',
'semester'
];
}
Digunakan untuk:
public function index()
{
return "Data Mahasiswa";
}
Tambahkan pada:
routes/web.php
Kode:
use App\Http\Controllers\MahasiswaController;
Route::get('/mahasiswa', [MahasiswaController::class, 'index']);
Route
↓
Controller
↓
Model
↓
Database
↓
View
Controller:
use App\Models\Mahasiswa;
public function index()
{
$mahasiswa = Mahasiswa::all();
return view('mahasiswa.index', compact('mahasiswa'));
}
Buat folder:
resources/views/mahasiswa/
File:
resources/views/mahasiswa/index.blade.php
<h1>Data Mahasiswa</h1>
@foreach($mahasiswa as $m)
<p>{{ $m->nama }}</p>
@endforeach
all()
Digunakan untuk:
<table border="1">
<tr>
<th>Nama</th>
<th>Jurusan</th>
</tr>
@foreach($mahasiswa as $m)
<tr>
<td>{{ $m->nama }}</td>
<td>{{ $m->jurusan }}</td>
</tr>
@endforeach
</table>
Buka browser:
http://127.0.0.1:8000/mahasiswa
Data database tampil pada browser.
File:
resources/views/mahasiswa/create.blade.php
Isi:
<form method="POST" action="/mahasiswa/store">
@csrf
<input type="text" name="nama" placeholder="Nama">
<input type="text" name="jurusan" placeholder="Jurusan">
<input type="number" name="semester" placeholder="Semester">
<button type="submit">Simpan</button>
</form>
Route::post('/mahasiswa/store', [MahasiswaController::class, 'store']);
Controller:
public function store(Request $request)
{
Mahasiswa::create([
'nama' => $request->nama,
'jurusan' => $request->jurusan,
'semester' => $request->semester
]);
return redirect('/mahasiswa');
}
Digunakan untuk:
Request $request
Digunakan untuk:
Digunakan untuk:
Data otomatis masuk ke database.
Gunakan:
@csrf
untuk keamanan form Laravel.
| Fitur | Fungsi |
|---|---|
| Create | Tambah data |
| Read | Tampilkan data |
| Update | Edit data |
| Delete | Hapus data |
Route:
Route::get('/mahasiswa/edit/{id}', [MahasiswaController::class, 'edit']);
public function edit($id)
{
$mahasiswa = Mahasiswa::find($id);
return view('mahasiswa.edit', compact('mahasiswa'));
}
<form method="POST" action="/mahasiswa/update/{{ $mahasiswa->id }}">
@csrf
<input type="text" name="nama" value="{{ $mahasiswa->nama }}">
<button type="submit">Update</button>
</form>
Route::post('/mahasiswa/update/{id}', [MahasiswaController::class, 'update']);
public function update(Request $request, $id)
{
$mahasiswa = Mahasiswa::find($id);
$mahasiswa->nama = $request->nama;
$mahasiswa->save();
return redirect('/mahasiswa');
}
Route::get('/mahasiswa/delete/{id}', [MahasiswaController::class, 'destroy']);
public function destroy($id)
{
$mahasiswa = Mahasiswa::find($id);
$mahasiswa->delete();
return redirect('/mahasiswa');
}
Form
↓
Route
↓
Controller
↓
Model
↓
Database
php artisan make:migration create_mahasiswa_table
php artisan make:model Mahasiswa -mc
$mahasiswa = Mahasiswa::all();
Mahasiswa::create([
'nama' => $request->nama
]);
Gunakan:
Laravel menyediakan sistem CRUD yang terstruktur menggunakan migration, model, controller, Blade Template, dan Eloquent ORM. Dengan memahami praktik CRUD sederhana, mahasiswa dapat membangun aplikasi database Laravel yang dinamis, modern, dan sesuai standar pengembangan web profesional.